import Vue from 'vue'
import VueI18n from 'vue-i18n'
import zhCN from './zh-Hans.json'
import en from './en.json'
import fr from './fr.json'

Vue.use(VueI18n)

// 获取系统语言
function getDefaultLang() {
  // 尝试从缓存获取用户设置的语言
  const savedLanguage = uni.getStorageSync('language')
  if (savedLanguage) {
    return savedLanguage
  }

  // 默认使用系统语言，如果系统语言不在支持的语言列表中，则使用中文
  const systemInfo = uni.getSystemInfoSync()
  
  const systemLanguage = systemInfo.language
  
  if (systemLanguage.startsWith('zh')) {
    return 'zh-Hans'
  } else if (systemLanguage.startsWith('en')) {
    return 'en'
  } else if (systemLanguage.startsWith('fr')) {
    return 'fr'
  }
  
  return 'zh-Hans' // 默认使用中文
}

const i18n = new VueI18n({
  locale: uni.getLocale(),
  messages: {
    'zh-Hans':zhCN,
    'en': en,
    'fr': fr
  },
  silentTranslationWarn: true
})

// 导出语言切换方法
export const setLanguage = (lang) => {
  i18n.locale = lang
  uni.setStorageSync('language', lang)
}

export default i18n 